home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / MNetsrc.hqx / Mac TCP_IP Source v.33 / mac_fopenw.h < prev    next >
Text File  |  1989-02-16  |  4KB  |  143 lines

  1. /*    (C) Copyright 1986. THINK Technologies, Inc.  All rights reserved.     */
  2.  
  3. /* 
  4.         This is the header file for the windowed output printf-2-w.c
  5.         supplied with the new stdio.
  6. */
  7.  
  8. #ifndef    _fopenwh_
  9. #define    _fopenwh_
  10.  
  11. #ifndef _stdioh_
  12. #include "stdio.h"
  13. #endif
  14.  
  15. #ifndef    _WindowMgr_
  16. #include "WindowMgr.h"
  17. #endif
  18.  
  19. #ifndef    _ControlMgr_
  20. #include "ControlMgr.h"
  21. #endif
  22.  
  23. #ifndef _EventMgr_
  24. #include "EventMgr.h"
  25. #endif
  26.  
  27. #ifndef _MenuMgr_
  28. #include "MenuMgr.h"
  29. #endif
  30.  
  31. /* This is the Standard Window Options structure (passed in to fopenw) */
  32.  
  33. /* Defaults are as follows (check printf-2-w.c for details) if you don't
  34.     pass in an options record to fopenw() (also Console window):
  35.     
  36.     maxrow and maxcol are determined by screenbits.Bounds and the current
  37.     font, so they will be something like 24 x 80 with Monaco 9 font on a
  38.     standard Mac screen, larger on a Mac XL (Lisa), and even larger on
  39.     something like a Radius.
  40.     
  41.         cursor_visible    true
  42.         echo_state        true
  43.         _tab_width        4
  44.         no_pull_front    false
  45.         no_grow,        false
  46.         no_drag,        false
  47.         no_goaway,        false
  48.         no_scroll,        false
  49.         no_wrap;        false
  50. */
  51.  
  52. typedef struct
  53. {
  54. int        maxrow,            /* number of rows in screen array */
  55.         maxcol;            /* number of columns in screen array */
  56.         
  57. Boolean    cursor_visible,    /* cursor is visible */
  58.         echo_state,        /* true if echo enabled */
  59.         _tab_width,        /* width of tabs */
  60.         no_pull_front,    /* don't pull window to front on keystrokes */
  61.         no_grow,        /* no grow box */
  62.         no_drag,        /* not draggable */
  63.         no_goaway,        /* no goaway box */
  64.         no_scroll,        /* vertical wrap instead of scrolling */
  65.         no_wrap;        /* fall off end of line rather than horizontal wrap */
  66.         
  67. } StdWindowOptions;
  68.  
  69. typedef struct
  70. {
  71. WindowRecord    wrec;        /* actual window record -- a pointer to this
  72.                                 can be obtained by Get_WindowPtr(filevar)
  73.                                 where filevar is returned from fopenw() */
  74. long            signature;    /* can be used to determine if stdio window */
  75. StdWindowOptions opt;        /* our options record */
  76. int                visrow,        /* # visible rows */
  77.                 viscol,        /* # visible columns */
  78.                 row,        /* current row */
  79.                 col,        /* current column */
  80.                 toprow,        /* row in array that is actual first row
  81.                                 since scrolling only changes this and
  82.                                 treats screen array as a wrapped queue */
  83.                 charheight,    /* character height in pixels */
  84.                 charwidth;    /* character width in pixels */
  85. FontInfo        sf;            /* stuff for font management */
  86. char            screen[];    /* screen row buffer -- pointer to this can
  87.                                 be obtained with Get_ScreenPtr(filevar)
  88.                                 where filevar is returned from fopenw()*/
  89. } StdWindowRec;
  90.  
  91. typedef struct {            /* expandable window refcon control structure */
  92.     int                (*eventProc)();
  93.     ControlHandle    vscroll;
  94. } eventinfo;
  95.  
  96. typedef struct {
  97. EventRecord        record;
  98. WindowPtr        window;
  99. ControlHandle    control;
  100. } XEventRecord;
  101.  
  102. typedef struct {
  103. WindowPtr    wp;
  104. FILE        *fp;
  105. } StdwsaveRecord;
  106.  
  107. enum {OFF, ON};
  108.  
  109. /* misc. defs */
  110.  
  111. #define _OURSIGNATURE    'LSWD'    /* identifies our window records */
  112. #define _CONTROLWIDTH    15        /* width of scroll bar */
  113. #define    _LEFTEDGE        4        /* margins */
  114. #define    _TOPEDGE        4
  115.  
  116. #define    _MBARHEIGHT    (ROM85==-1?20:MBarHeight)
  117.  
  118. #define _TITLEBARHEIGHT    20
  119.  
  120. /*#define hiword(x)        (((short *) &(x))[0])
  121. #define loword(x)        (((short *) &(x))[1])*/
  122. #define screenHeight    (screenBits.bounds.bottom)
  123. #define screenWidth        (screenBits.bounds.right)
  124.  
  125. typedef enum 
  126. {
  127. menuEvent=16,        /* our internal codes for events */
  128. growEvent,
  129. dragEvent,
  130. cursorEvent,
  131. selectEvent,
  132. controlEvent,
  133. deactivateEvt,
  134. closeEvent,
  135. openEvent,
  136. appleEvent,
  137. dialogEvent,
  138. editEvent
  139. };
  140.  
  141. #endif
  142.  
  143.